<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>jsrsasign JavaScript API Reference - ASN1HEX</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
&nbsp; <b><a href="https://kjur.github.io/jsrsasign/" style="color: white">jsrsasign</a></b> JavaScript API Reference
</div>

		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><i><a href="../symbols/global__.html">global__</a></i></li>
	
	<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
	
	<li><a href="../symbols/Base64x.html">Base64x</a></li>
	
	<li><a href="../symbols/KEYUTIL.html">KEYUTIL</a></li>
	
	<li><a href="../symbols/KJUR.html">KJUR</a></li>
	
	<li><a href="../symbols/KJUR.asn1.html">KJUR.asn1</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ASN1Object.html">KJUR.asn1.ASN1Object</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ASN1Util.html">KJUR.asn1.ASN1Util</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.html">KJUR.asn1.cades</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.CAdESUtil.html">KJUR.asn1.cades.CAdESUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.CompleteCertificateRefs.html">KJUR.asn1.cades.CompleteCertificateRefs</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherCertID.html">KJUR.asn1.cades.OtherCertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHash.html">KJUR.asn1.cades.OtherHash</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHashAlgAndValue.html">KJUR.asn1.cades.OtherHashAlgAndValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHashValue.html">KJUR.asn1.cades.OtherHashValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignaturePolicyId.html">KJUR.asn1.cades.SignaturePolicyId</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignaturePolicyIdentifier.html">KJUR.asn1.cades.SignaturePolicyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignatureTimeStamp.html">KJUR.asn1.cades.SignatureTimeStamp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.html">KJUR.asn1.cms</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.Attribute.html">KJUR.asn1.cms.Attribute</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.AttributeList.html">KJUR.asn1.cms.AttributeList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CertificateSet.html">KJUR.asn1.cms.CertificateSet</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CMSParser.html">KJUR.asn1.cms.CMSParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CMSUtil.html">KJUR.asn1.cms.CMSUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ContentInfo.html">KJUR.asn1.cms.ContentInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ContentType.html">KJUR.asn1.cms.ContentType</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.EncapsulatedContentInfo.html">KJUR.asn1.cms.EncapsulatedContentInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ESSCertID.html">KJUR.asn1.cms.ESSCertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ESSCertIDv2.html">KJUR.asn1.cms.ESSCertIDv2</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.IssuerAndSerialNumber.html">KJUR.asn1.cms.IssuerAndSerialNumber</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.IssuerSerial.html">KJUR.asn1.cms.IssuerSerial</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.MessageDigest.html">KJUR.asn1.cms.MessageDigest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.OtherRevocationFormat.html">KJUR.asn1.cms.OtherRevocationFormat</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.RevocationInfoChoice.html">KJUR.asn1.cms.RevocationInfoChoice</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.RevocationInfoChoices.html">KJUR.asn1.cms.RevocationInfoChoices</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignedData.html">KJUR.asn1.cms.SignedData</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignerIdentifier.html">KJUR.asn1.cms.SignerIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignerInfo.html">KJUR.asn1.cms.SignerInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningCertificate.html">KJUR.asn1.cms.SigningCertificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningCertificateV2.html">KJUR.asn1.cms.SigningCertificateV2</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningTime.html">KJUR.asn1.cms.SigningTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SubjectKeyIdentifier.html">KJUR.asn1.cms.SubjectKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.html">KJUR.asn1.csr</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CertificationRequest.html">KJUR.asn1.csr.CertificationRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CertificationRequestInfo.html">KJUR.asn1.csr.CertificationRequestInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CSRUtil.html">KJUR.asn1.csr.CSRUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractString.html">KJUR.asn1.DERAbstractString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractStructured.html">KJUR.asn1.DERAbstractStructured</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractTime.html">KJUR.asn1.DERAbstractTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBitString.html">KJUR.asn1.DERBitString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBMPString.html">KJUR.asn1.DERBMPString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBoolean.html">KJUR.asn1.DERBoolean</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DEREnumerated.html">KJUR.asn1.DEREnumerated</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERGeneralizedTime.html">KJUR.asn1.DERGeneralizedTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERIA5String.html">KJUR.asn1.DERIA5String</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERInteger.html">KJUR.asn1.DERInteger</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERNull.html">KJUR.asn1.DERNull</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERNumericString.html">KJUR.asn1.DERNumericString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERObjectIdentifier.html">KJUR.asn1.DERObjectIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DEROctetString.html">KJUR.asn1.DEROctetString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERPrintableString.html">KJUR.asn1.DERPrintableString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERSequence.html">KJUR.asn1.DERSequence</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERSet.html">KJUR.asn1.DERSet</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERTaggedObject.html">KJUR.asn1.DERTaggedObject</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERTeletexString.html">KJUR.asn1.DERTeletexString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERUTCTime.html">KJUR.asn1.DERUTCTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERUTF8String.html">KJUR.asn1.DERUTF8String</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERVisibleString.html">KJUR.asn1.DERVisibleString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.html">KJUR.asn1.ocsp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.BasicOCSPResponse.html">KJUR.asn1.ocsp.BasicOCSPResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.CertID.html">KJUR.asn1.ocsp.CertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.CertStatus.html">KJUR.asn1.ocsp.CertStatus</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPParser.html">KJUR.asn1.ocsp.OCSPParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPRequest.html">KJUR.asn1.ocsp.OCSPRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPResponse.html">KJUR.asn1.ocsp.OCSPResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPUtil.html">KJUR.asn1.ocsp.OCSPUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.Request.html">KJUR.asn1.ocsp.Request</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponderID.html">KJUR.asn1.ocsp.ResponderID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponseBytes.html">KJUR.asn1.ocsp.ResponseBytes</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponseData.html">KJUR.asn1.ocsp.ResponseData</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.SingleResponse.html">KJUR.asn1.ocsp.SingleResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.SingleResponseList.html">KJUR.asn1.ocsp.SingleResponseList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.TBSRequest.html">KJUR.asn1.ocsp.TBSRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.html">KJUR.asn1.tsp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.AbstractTSAAdapter.html">KJUR.asn1.tsp.AbstractTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.Accuracy.html">KJUR.asn1.tsp.Accuracy</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.FixedTSAAdapter.html">KJUR.asn1.tsp.FixedTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.MessageImprint.html">KJUR.asn1.tsp.MessageImprint</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIFailureInfo.html">KJUR.asn1.tsp.PKIFailureInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIFreeText.html">KJUR.asn1.tsp.PKIFreeText</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIStatus.html">KJUR.asn1.tsp.PKIStatus</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIStatusInfo.html">KJUR.asn1.tsp.PKIStatusInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.SimpleTSAAdapter.html">KJUR.asn1.tsp.SimpleTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampReq.html">KJUR.asn1.tsp.TimeStampReq</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampResp.html">KJUR.asn1.tsp.TimeStampResp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampToken.html">KJUR.asn1.tsp.TimeStampToken</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSPParser.html">KJUR.asn1.tsp.TSPParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSPUtil.html">KJUR.asn1.tsp.TSPUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSTInfo.html">KJUR.asn1.tsp.TSTInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.html">KJUR.asn1.x509</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AdobeTimeStamp.html">KJUR.asn1.x509.AdobeTimeStamp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AlgorithmIdentifier.html">KJUR.asn1.x509.AlgorithmIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AttributeTypeAndValue.html">KJUR.asn1.x509.AttributeTypeAndValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AuthorityKeyIdentifier.html">KJUR.asn1.x509.AuthorityKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.BasicConstraints.html">KJUR.asn1.x509.BasicConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Certificate.html">KJUR.asn1.x509.Certificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CertificatePolicies.html">KJUR.asn1.x509.CertificatePolicies</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRL.html">KJUR.asn1.x509.CRL</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLEntry.html">KJUR.asn1.x509.CRLEntry</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLNumber.html">KJUR.asn1.x509.CRLNumber</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLReason.html">KJUR.asn1.x509.CRLReason</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DistributionPoint.html">KJUR.asn1.x509.DistributionPoint</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DistributionPointName.html">KJUR.asn1.x509.DistributionPointName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Extension.html">KJUR.asn1.x509.Extension</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Extensions.html">KJUR.asn1.x509.Extensions</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.ExtKeyUsage.html">KJUR.asn1.x509.ExtKeyUsage</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.KeyUsage.html">KJUR.asn1.x509.KeyUsage</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.NameConstraints.html">KJUR.asn1.x509.NameConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.NoticeReference.html">KJUR.asn1.x509.NoticeReference</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OCSPNoCheck.html">KJUR.asn1.x509.OCSPNoCheck</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OCSPNonce.html">KJUR.asn1.x509.OCSPNonce</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OID.html">KJUR.asn1.x509.OID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OtherName.html">KJUR.asn1.x509.OtherName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyInformation.html">KJUR.asn1.x509.PolicyInformation</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyQualifierInfo.html">KJUR.asn1.x509.PolicyQualifierInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PrivateExtension.html">KJUR.asn1.x509.PrivateExtension</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.RDN.html">KJUR.asn1.x509.RDN</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectDirectoryAttributes.html">KJUR.asn1.x509.SubjectDirectoryAttributes</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectKeyIdentifier.html">KJUR.asn1.x509.SubjectKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectPublicKeyInfo.html">KJUR.asn1.x509.SubjectPublicKeyInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.TBSCertificate.html">KJUR.asn1.x509.TBSCertificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.TBSCertList.html">KJUR.asn1.x509.TBSCertList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Time.html">KJUR.asn1.x509.Time</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.UserNotice.html">KJUR.asn1.x509.UserNotice</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.X509Util.html">KJUR.asn1.x509.X509Util</a></li>
	
	<li><a href="../symbols/KJUR.crypto.html">KJUR.crypto</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Cipher.html">KJUR.crypto.Cipher</a></li>
	
	<li><a href="../symbols/KJUR.crypto.DSA.html">KJUR.crypto.DSA</a></li>
	
	<li><a href="../symbols/KJUR.crypto.ECDSA.html">KJUR.crypto.ECDSA</a></li>
	
	<li><a href="../symbols/KJUR.crypto.ECParameterDB.html">KJUR.crypto.ECParameterDB</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Mac.html">KJUR.crypto.Mac</a></li>
	
	<li><a href="../symbols/KJUR.crypto.MessageDigest.html">KJUR.crypto.MessageDigest</a></li>
	
	<li><a href="../symbols/KJUR.crypto.OID.html">KJUR.crypto.OID</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Signature.html">KJUR.crypto.Signature</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Util.html">KJUR.crypto.Util</a></li>
	
	<li><a href="../symbols/KJUR.jws.html">KJUR.jws</a></li>
	
	<li><a href="../symbols/KJUR.jws.IntDate.html">KJUR.jws.IntDate</a></li>
	
	<li><a href="../symbols/KJUR.jws.JWS.html">KJUR.jws.JWS</a></li>
	
	<li><a href="../symbols/KJUR.jws.JWSJS.html">KJUR.jws.JWSJS</a></li>
	
	<li><a href="../symbols/KJUR.lang.String.html">KJUR.lang.String</a></li>
	
	<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
	
	<li><a href="../symbols/X509.html">X509</a></li>
	
	<li><a href="../symbols/X509CRL.html">X509CRL</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Class ASN1HEX
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
				
			
				ASN.1 DER encoded hexadecimal string utility class
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/asn1hex-1.1.js.html">asn1hex-1.1.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ASN1HEX.">
				<caption>Class Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/ASN1HEX.html#constructor">ASN1HEX</a></b>()
							</div>
							<div class="description">ASN.1 DER encoded hexadecimal string utility class
This class provides a parser for hexadecimal string of
DER encoded ASN.1 binary data.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class ASN1HEX.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.checkStrictDER">checkStrictDER</a></b>(hex)
								</div>
								<div class="description">strict ASN.1 DER hexadecimal string checker
This method checks wheather the argument 'hex' is a hexadecimal string of
ASN.1 data or not.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.dump">dump</a></b>(hexOrObj, flags, idx, indent)
								</div>
								<div class="description">get string of simple ASN.1 dump from hexadecimal ASN.1 data<br/>
This method will get an ASN.1 dump from
hexadecmal string of ASN.1 DER encoded data.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getChildIdx">getChildIdx</a></b>(h, idx)
								</div>
								<div class="description">get array of string indexes of child ASN.1 objects<br/>
This method returns array of integers for a concatination of ASN.1 objects
in a ASN.1 value.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getIdxbyList">getIdxbyList</a></b>(h, currentIndex, nthList, checkingTag)
								</div>
								<div class="description">get string index of nth child object of ASN.1 object refered by h, idx<br/>
</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getIdxbyListEx">getIdxbyListEx</a></b>(h, currentIndex, nthList, checkingTag)
								</div>
								<div class="description">get string index of nth child object of ASN.1 object refered by h, idx<br/>
This method returns the string index in h specified by currentIndex and
nthList.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getInt">getInt</a></b>(h, idx, errorReturn)
								</div>
								<div class="description">get integer value from ASN.1 V(value) of Integer or BitString<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getL">getL</a></b>(s, idx)
								</div>
								<div class="description">get hexadecimal string for ASN.1 L(length) bytes<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getLblen">getLblen</a></b>(s, idx)
								</div>
								<div class="description">get byte length for ASN.1 L(length) bytes<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getNextSiblingIdx">getNextSiblingIdx</a></b>(s, idx)
								</div>
								<div class="description">get next sibling starting index for ASN.1 object string (DEPRECATED)<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getNthChildIdx">getNthChildIdx</a></b>(h, idx, nth)
								</div>
								<div class="description">get string index of nth child object of ASN.1 object refered by h, idx<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getOID">getOID</a></b>(h, idx, errorReturn)
								</div>
								<div class="description">get object identifier string from ASN.1 V(value)<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getOIDName">getOIDName</a></b>(h, idx, errorReturn)
								</div>
								<div class="description">get object identifier name from ASN.1 V(value)<br/>
This static method returns object identifier name such as "sha256"
if registered.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getString">getString</a></b>(h, idx, errorReturn)
								</div>
								<div class="description">get raw string from ASN.1 V(value)<br/>
This static method returns a raw string from
any ASN.1 DER primitives.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getTLV">getTLV</a></b>(s, idx)
								</div>
								<div class="description">get hexadecimal string of ASN.1 TLV at<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getTLVblen">getTLVblen</a></b>(h, idx)
								</div>
								<div class="description">get byte length of ASN.1 TLV at specified string index<br/>
This method returns a byte length of ASN.1 TLV at
specified string index.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getTLVbyList">getTLVbyList</a></b>(h, currentIndex, nthList, checkingTag)
								</div>
								<div class="description">get ASN.1 TLV by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getTLVbyListEx">getTLVbyListEx</a></b>(h, currentIndex, nthList, checkingTag)
								</div>
								<div class="description">get ASN.1 TLV by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getV">getV</a></b>(s, idx)
								</div>
								<div class="description">get hexadecimal string of ASN.1 V(value)<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getVblen">getVblen</a></b>(s, idx)
								</div>
								<div class="description">get integer value of ASN.1 length for ASN.1 data<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getVbyList">getVbyList</a></b>(h, currentIndex, nthList, checkingTag, removeUnusedbits)
								</div>
								<div class="description">get ASN.1 value by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getVbyListEx">getVbyListEx</a></b>(h, currentIndex, nthList, checkingTag, removeUnusedbits)
								</div>
								<div class="description">get ASN.1 V by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.getVidx">getVidx</a></b>(s, idx)
								</div>
								<div class="description">get ASN.1 value starting string position for ASN.1 object refered by index 'idx'.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.hextooidstr">hextooidstr</a></b>(hex)
								</div>
								<div class="description">get OID string from hexadecimal encoded value<br/>
This static method converts from ASN.1 DER encoded 
hexadecimal object identifier value to dot concatinated OID value.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.isASN1HEX">isASN1HEX</a></b>(hex)
								</div>
								<div class="description">simple ASN.1 DER hexadecimal string checker<br/>
This method checks wheather the argument 'hex' is a hexadecimal string of
ASN.1 data or not.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.isContextTag">isContextTag</a></b>(hex, context)
								</div>
								<div class="description">check if a hexadecimal tag is a specified ASN.1 context specific tag
This method checks if a hexadecimal tag is a specified ASN.1 context specific tag.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.oidname">oidname</a></b>(oidDotOrHex)
								</div>
								<div class="description">get hexacedimal string from PEM format data<br/>
This static method gets a OID name for
a specified string of number dot notation (i.e.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">ASN1HEX.<b><a href="../symbols/ASN1HEX.html#.parse">parse</a></b>(h)
								</div>
								<div class="description">parse ASN.1 DER hexadecimal string<br/>
This method parses ASN.1 DER hexadecimal string.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Class Detail
				</div>
				
				<div class="fixedFont">
						<b>ASN1HEX</b>()
				</div>
				
				<div class="description">
					ASN.1 DER encoded hexadecimal string utility class
This class provides a parser for hexadecimal string of
DER encoded ASN.1 binary data.
Here are major methods of this class.
<ul>
<li><b>ACCESS BY POSITION</b>
  <ul>
  <li><a href="../symbols/ASN1HEX.html#.getTLV">ASN1HEX.getTLV</a> - get ASN.1 TLV at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getTLVblen">ASN1HEX.getTLVblen</a> - get byte length of ASN.1 TLV at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getV">ASN1HEX.getV</a> - get ASN.1 V at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getVblen">ASN1HEX.getVblen</a> - get integer ASN.1 L at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getVidx">ASN1HEX.getVidx</a> - get ASN.1 V position from its ASN.1 TLV position</li>
  <li><a href="../symbols/ASN1HEX.html#.getL">ASN1HEX.getL</a> - get hexadecimal ASN.1 L at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getLblen">ASN1HEX.getLblen</a> - get byte length for ASN.1 L(length) bytes</li>
  </ul>
</li>
<li><b>ACCESS FOR CHILD ITEM</b>
  <ul>
  <li><a href="../symbols/ASN1HEX.html#.getNthChildIdx">ASN1HEX.getNthChildIdx</a> - get nth child index at specified position</li>
  <li><a href="../symbols/ASN1HEX.html#.getChildIdx">ASN1HEX.getChildIdx</a> - get indexes of children</li>
  <li><a href="../symbols/ASN1HEX.html#.getNextSiblingIdx">ASN1HEX.getNextSiblingIdx</a> - get position of next sibling (DEPRECATED)</li>
  </ul>
</li>
<li><b>ACCESS NESTED ASN.1 STRUCTURE</b>
  <ul>
  <li><a href="../symbols/ASN1HEX.html#.getTLVbyList">ASN1HEX.getTLVbyList</a> - get ASN.1 TLV at specified list index</li>
  <li><a href="../symbols/ASN1HEX.html#.getVbyList">ASN1HEX.getVbyList</a> - get ASN.1 V at specified nth list index with checking expected tag</li>
  <li><a href="../symbols/ASN1HEX.html#.getIdxbyList">ASN1HEX.getIdxbyList</a> - get index at specified list index</li>
  </ul>
</li>
<li><b>(NEW)ACCESS NESTED ASN.1 STRUCTURE</b>
  <ul>
  <li><a href="../symbols/ASN1HEX.html#.getTLVbyListEx">ASN1HEX.getTLVbyListEx</a> - get ASN.1 TLV at specified list index</li>
  <li><a href="../symbols/ASN1HEX.html#.getVbyListEx">ASN1HEX.getVbyListEx</a> - get ASN.1 V at specified nth list index with checking expected tag</li>
  <li><a href="../symbols/ASN1HEX.html#.getIdxbyListEx">ASN1HEX.getIdxbyListEx</a> - get index at specified list index</li>
  </ul>
</li>
<li><b>UTILITIES</b>
  <ul>
  <li><a href="../symbols/ASN1HEX.html#.dump">ASN1HEX.dump</a> - dump ASN.1 structure</li>
  <li><a href="../symbols/ASN1HEX.html#.isContextTag">ASN1HEX.isContextTag</a> - check if a hexadecimal tag is a specified ASN.1 context specific tag</li>
  <li><a href="../symbols/ASN1HEX.html#.isASN1HEX">ASN1HEX.isASN1HEX</a> - simple ASN.1 DER hexadecimal string checker</li>
  <li><a href="../symbols/ASN1HEX.html#.checkStrictDER">ASN1HEX.checkStrictDER</a> - strict ASN.1 DER hexadecimal string checker</li>
  <li><a href="../symbols/ASN1HEX.html#.hextooidstr">ASN1HEX.hextooidstr</a> - convert hexadecimal string of OID to dotted integer list</li>
  </ul>
</li>
</ul>
					
				</div>
				
				
				
				
					
					
					
						<dl class="detailList">
						<dt class="heading">Since:</dt>
							<dd>jsrsasign 1.1</dd>
						</dl>
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name=".checkStrictDER"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">ASN1HEX.</span><b>checkStrictDER</b>(hex)
					
					</div>
					<div class="description">
						strict ASN.1 DER hexadecimal string checker
This method checks wheather the argument 'hex' is a hexadecimal string of
ASN.1 data or not. If the argument is not DER string, this 
raise an exception.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.checkStrictDER('0203012345') &rarr; NO EXCEPTION FOR PROPER ASN.1 INTEGER
ASN1HEX.checkStrictDER('0203012345ff') &rarr; RAISE EXCEPTION FOR TOO LONG VALUE
ASN1HEX.checkStrictDER('02030123') &rarr; false RAISE EXCEPITON FOR TOO SHORT VALUE
ASN1HEX.checkStrictDER('fa3bcd') &rarr; false RAISE EXCEPTION FOR WRONG ASN.1</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>string to check whether it is hexadecmal string for ASN.1 DER or not</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.19 asn1hex 1.2.1</dd>
							</dl>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Throws:</dt>
							
								<dt>
									 <b></b>
								</dt>
								<dd>Error when malformed ASN.1 DER hexadecimal string</dd>
							
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>unspecified</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".dump"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>dump</b>(hexOrObj, flags, idx, indent)
					
					</div>
					<div class="description">
						get string of simple ASN.1 dump from hexadecimal ASN.1 data<br/>
This method will get an ASN.1 dump from
hexadecmal string of ASN.1 DER encoded data.
Here are features:
<ul>
<li>ommit long hexadecimal string</li>
<li>dump encapsulated OCTET STRING (good for X.509v3 extensions)</li>
<li>structured/primitive context specific tag support (i.e. [0], [3] ...)</li>
<li>automatic decode for implicit primitive context specific tag 
(good for X.509v3 extension value)
  <ul>
  <li>if hex starts '68747470'(i.e. http) it is decoded as utf8 encoded string.</li>
  <li>if it is in 'subjectAltName' extension value and is '[2]'(dNSName) tag
  value will be encoded as utf8 string</li>
  <li>otherwise it shows as hexadecimal string</li>
  </ul>
</li>
</ul>
NOTE1: Argument <a href="../symbols/KJUR.asn1.ASN1Object.html">KJUR.asn1.ASN1Object</a> object is supported since
jsrsasign 6.2.4 asn1hex 1.0.8
						
						
					</div>
					
					
					
					<pre class="code">// 1) ASN.1 INTEGER
ASN1HEX.dump('0203012345')
&darr;
INTEGER 012345

// 2) ASN.1 Object Identifier
ASN1HEX.dump('06052b0e03021a')
&darr;
ObjectIdentifier sha1 (1 3 14 3 2 26)

// 3) ASN.1 SEQUENCE
ASN1HEX.dump('3006020101020102')
&darr;
SEQUENCE
  INTEGER 01
  INTEGER 02

// 4) ASN.1 SEQUENCE since jsrsasign 6.2.4
o = KJUR.asn1.ASN1Util.newObject({seq: [{int: 1}, {int: 2}]});
ASN1HEX.dump(o)
&darr;
SEQUENCE
  INTEGER 01
  INTEGER 02
// 5) ASN.1 DUMP FOR X.509 CERTIFICATE
ASN1HEX.dump(pemtohex(certPEM))
&darr;
SEQUENCE
  SEQUENCE
    [0]
      INTEGER 02
    INTEGER 0c009310d206dbe337553580118ddc87
    SEQUENCE
      ObjectIdentifier SHA256withRSA (1 2 840 113549 1 1 11)
      NULL
    SEQUENCE
      SET
        SEQUENCE
          ObjectIdentifier countryName (2 5 4 6)
          PrintableString 'US'
            :</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>hexOrObj</b>
									
								</dt>
								<dd>hexadecmal string of ASN.1 data or ASN1Object object</dd>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>flags</b>
									
								</dt>
								<dd>associative array of flags for dump (OPTION)</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index for starting dump (OPTION)</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>indent</b>
									
								</dt>
								<dd>indent string (OPTION)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 4.8.3 asn1hex 1.1.6</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> string of simple ASN.1 dump</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getChildIdx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array of Number}</span>
					<span class="light">ASN1HEX.</span><b>getChildIdx</b>(h, idx)
					
					</div>
					<div class="description">
						get array of string indexes of child ASN.1 objects<br/>
This method returns array of integers for a concatination of ASN.1 objects
in a ASN.1 value. As for BITSTRING, one byte of unusedbits is skipped.
As for other ASN.1 simple types such as INTEGER, OCTET STRING or PRINTABLE STRING,
it returns a array of a string index of its ASN.1 value.<br/>
NOTE: Since asn1hex 1.1.7 of jsrsasign 6.1.2, Encapsulated BitString is supported.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getChildIdx("0203012345", 0) &rArr; [4] // INTEGER 012345
ASN1HEX.getChildIdx("1303616161", 0) &rArr; [4] // PrintableString aaa
ASN1HEX.getChildIdx("030300ffff", 0) &rArr; [6] // BITSTRING ffff (unusedbits=00a)
ASN1HEX.getChildIdx("3006020104020105", 0) &rArr; [4, 10] // SEQUENCE(INT4,INT5)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>start string index of ASN.1 object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array of Number}</span> array of indexes for childen of ASN.1 objects</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getIdxbyList"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getIdxbyList</b>(h, currentIndex, nthList, checkingTag)
					
					</div>
					<div class="description">
						get string index of nth child object of ASN.1 object refered by h, idx<br/>

						
						
					</div>
					
					
					
					<pre class="code">The "nthList" is a index list of structured ASN.1 object
reference. Here is a sample structure and "nthList"s which
refers each objects.

SQUENCE               - 
  SEQUENCE            - [0]
    IA5STRING 000     - [0, 0]
    UTF8STRING 001    - [0, 1]
  SET                 - [1]
    IA5STRING 010     - [1, 0]
    UTF8STRING 011    - [1, 1]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>currentIndex</b>
									
								</dt>
								<dd>start string index of ASN.1 object</dd>
							
								<dt>
									<span class="light fixedFont">{Array of Number}</span> <b>nthList</b>
									
								</dt>
								<dd>array list of nth</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 asn1hex 1.1.10.</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> string index refered by nthList</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getIdxbyListEx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getIdxbyListEx</b>(h, currentIndex, nthList, checkingTag)
					
					</div>
					<div class="description">
						get string index of nth child object of ASN.1 object refered by h, idx<br/>
This method returns the string index in h specified by currentIndex and
nthList. This is useful to dig into a deep structured ASN.1 object
by indexes called nthList. 
<br/>
A nthList consists of a position number in children of ASN.1
structured data or a context specific tag string (ex. "[1]").
Here is a sample deep structured ASN.1 data and
nthLists referring decendent objects.
<blockquote><pre>
SQUENCE               - referring nthList is below:
  SEQUENCE            - [0]
    IA5STRING "a1"    - [0, 0]
    UTF8STRING "a2"   - [0, 1]
  SET                 - [1]
    IA5STRING "b1"    - [1, 0]
    UTF8STRING "b2"   - [1, 1]
    [0] "b3"          - [1, "[0]"] // optional since context tag
    [1] "b4"          - [1, "[1]"] // optional since context tag
    IA5STRING "b5"    - [1, 2] // context is skipped. next is 2
    UTF8STRING "b6"   - [1, 3]
</pre></blockquote>

<br/>
This method can dig into ASN.1 object encapsulated by
OctetString or BitString with unused bits.
						
						
					</div>
					
					
					
					<pre class="code">3014 seq idx=0
  3012 seq idx=4
    020101 int:1 idx=8
    020102 int:2 idx=14
    800103 [0]:3 idx=20
    810104 [1]:4 idx=26
    020105 int:5 idx=32
    020106 int:6 idx=38
h = "30140412020101020102800103810104020105020106";
ASN1HEX.getIdxbyListEx(h, 0, [0, "[0]"]) &rarr; 16
ASN1HEX.getIdxbyListEx(h, 0, [0, 2]) &rarr; 28
ASN1HEX.getIdxbyListEx(h, 0, [0, 2], "0c") &rarr; -1 //not UTF8String(0c)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>currentIndex</b>
									
								</dt>
								<dd>start string index of ASN.1 object</dd>
							
								<dt>
									<span class="light fixedFont">{Array of Object}</span> <b>nthList</b>
									
								</dt>
								<dd>array list of nth index value or context specific tag string (ex. "[0]")</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.21 asn1hex 1.2.2</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> string index refered by nthList. return -1 if not found</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-accessing-deep-inside-of-ASN.1-structure-by-using-new-ASN1HEX.getIdxbyListEx">ASN1HEX.getIdxbyListEx tutorial wiki page</a></dd>
							
							</dl>
						

					<hr />
				
					<a name=".getInt"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getInt</b>(h, idx, errorReturn)
					
					</div>
					<div class="description">
						get integer value from ASN.1 V(value) of Integer or BitString<br/>
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getInt("xxxx020103xxxxxx", 4) &rarr 3 // DER Integer
ASN1HEX.getInt("xxxx03020780xxxxxx", 4) &rarr 1 // DER BitStringx
ASN1HEX.getInt("xxxx030203c8xxxxxx", 4) &rarr 25 // DER BitStringx</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index in h to get ASN.1 DER Integer or BitString</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>errorReturn</b>
									
								</dt>
								<dd>(OPTION) error return value (DEFAULT: -1)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.1.0 asn1hex 1.2.7</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> ASN.1 DER Integer or BitString value</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/global__.html#bitstrtoint">bitstrtoint</a></dd>
							
							</dl>
						

					<hr />
				
					<a name=".getL"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getL</b>(s, idx)
					
					</div>
					<div class="description">
						get hexadecimal string for ASN.1 L(length) bytes<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index to get L of ASN.1 object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal string for ASN.1 L(length) bytes</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getLblen"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">ASN1HEX.</span><b>getLblen</b>(s, idx)
					
					</div>
					<div class="description">
						get byte length for ASN.1 L(length) bytes<br/>
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getLblen('020100', 0) &rarr; 1 for '01'
ASN1HEX.getLblen('020200', 0) &rarr; 1 for '02'
ASN1HEX.getLblen('02818003...', 0) &rarr; 2 for '8180'
ASN1HEX.getLblen('0282025b03...', 0) &rarr; 3 for '82025b'
ASN1HEX.getLblen('0280020100...', 0) &rarr; -1 for '80' BER indefinite length
ASN1HEX.getLblen('02ffab...', 0) &rarr; -2 for malformed ASN.1 length</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>byte length for ASN.1 L(length) bytes</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getNextSiblingIdx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getNextSiblingIdx</b>(s, idx)
					
					</div>
					<div class="description">
						get next sibling starting index for ASN.1 object string (DEPRECATED)<br/>
						
						
					</div>
					
					
					
					<pre class="code">SEQUENCE { INTEGER 3, INTEGER 4 }
3006
    020103 :idx=4
          020104 :next sibling idx=10
getNextSiblingIdx("3006020103020104", 4) & rarr 10</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Deprecated:</dt>
							<dt>
								jsrsasign 9.1.5 asn1hex 1.2.5 Please use <a href="../symbols/ASN1HEX.html#.getTLVblen">ASN1HEX.getTLVblen</a>
							</dt>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> next sibling starting index for ASN.1 object string</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getNthChildIdx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getNthChildIdx</b>(h, idx, nth)
					
					</div>
					<div class="description">
						get string index of nth child object of ASN.1 object refered by h, idx<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>start string index of ASN.1 object</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>nth</b>
									
								</dt>
								<dd>for child</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> string index of nth child.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getOID"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getOID</b>(h, idx, errorReturn)
					
					</div>
					<div class="description">
						get object identifier string from ASN.1 V(value)<br/>
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getInt("xxxx06032a0304xxxxxx", 4) &rarr "1.2.3.4"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index in h to get ASN.1 DER ObjectIdentifier</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>errorReturn</b>
									
								</dt>
								<dd>(OPTION) error return value (DEFAULT: null)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.1.0 asn1hex 1.2.7</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> object identifier string (ex. "1.2.3.4")</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getOIDName"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getOIDName</b>(h, idx, errorReturn)
					
					</div>
					<div class="description">
						get object identifier name from ASN.1 V(value)<br/>
This static method returns object identifier name such as "sha256"
if registered. If not registered, it returns OID string. 
(ex. "1.2.3.4")
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getOIDName("xxxx0609608648016503040201xxxxxx", 4) &rarr "sha256"
ASN1HEX.getOIDName("xxxx06032a0304xxxxxx", 4) &rarr "1.2.3.4"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index in h to get ASN.1 DER ObjectIdentifier</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>errorReturn</b>
									
								</dt>
								<dd>(OPTION) error return value (DEFAULT: null)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.1.0 asn1hex 1.2.7</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> object identifier name (ex. "sha256") oir OID string</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getString"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getString</b>(h, idx, errorReturn)
					
					</div>
					<div class="description">
						get raw string from ASN.1 V(value)<br/>
This static method returns a raw string from
any ASN.1 DER primitives.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.getString("xxxx1303616161xxxxxx", 4) &rarr "aaa"
ASN1HEX.getString("xxxx0c03616161xxxxxx", 4) &rarr "aaa"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index in h to get any ASN.1 DER String</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>errorReturn</b>
									
								</dt>
								<dd>(OPTION) error return value (DEFAULT: null)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.1.3 asn1hex 1.2.8</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> raw string</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getTLV"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getTLV</b>(s, idx)
					
					</div>
					<div class="description">
						get hexadecimal string of ASN.1 TLV at<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal string of ASN.1 TLV.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getTLVblen"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getTLVblen</b>(h, idx)
					
					</div>
					<div class="description">
						get byte length of ASN.1 TLV at specified string index<br/>
This method returns a byte length of ASN.1 TLV at
specified string index.
						
						
					</div>
					
					
					
					<pre class="code">                       v string indx=42
ASN1HEX.getTLVblen("...1303616161...", 42) &rarr; 10 (PrintableString 'aaa')</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index to get ASN.1 TLV byte length</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.5 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> byte length of ASN.1 TLV</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getTLVbyList"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getTLVbyList</b>(h, currentIndex, nthList, checkingTag)
					
					</div>
					<div class="description">
						get ASN.1 TLV by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".
<br/>
When referring value can't be found, this returns null.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 structure</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>currentIndex</b>
									
								</dt>
								<dd>string index to start searching in hexadecimal string "h"</dd>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>nthList</b>
									
								</dt>
								<dd>array of nth list index</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 asn1hex 1.1.10</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> referred hexadecimal string of ASN.1 TLV or null</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getTLVbyListEx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getTLVbyListEx</b>(h, currentIndex, nthList, checkingTag)
					
					</div>
					<div class="description">
						get ASN.1 TLV by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".
This method can dig into ASN.1 object encapsulated by
OctetString or BitString with unused bits.
						
						
					</div>
					
					
					
					<pre class="code">3014 seq idx=0
  0312 seq idx=4
    020101 int:1 idx=8
    020102 int:2 idx=14
    800103 [0]:3 idx=20
    810104 [1]:4 idx=26
    020105 int:5 idx=32
    020106 int:6 idx=38
h = "30140412020101020102800103810104020105020106";
ASN1HEX.getTLVbyList(h, 0, [0, "[0]"]) &rarr; 800103
ASN1HEX.getTLVbyList(h, 0, [0, 2]) &rarr; 020105
ASN1HEX.getTLVbyList(h, 0, [0, 2], "0c") &rarr; null //not UTF8String(0c)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 structure</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>currentIndex</b>
									
								</dt>
								<dd>string index to start searching in hexadecimal string "h"</dd>
							
								<dt>
									<span class="light fixedFont">{Array of Object}</span> <b>nthList</b>
									
								</dt>
								<dd>array list of nth index value or context specific tag string (ex. "[0]")</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.21 asn1hex 1.2.2</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal ASN.1 TLV string refered by nthList. return null if not found</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-accessing-deep-inside-of-ASN.1-structure-by-using-new-ASN1HEX.getIdxbyListEx">ASN1HEX.getIdxbyListEx tutorial wiki page</a></dd>
							
								<dd></dd>
							
							</dl>
						

					<hr />
				
					<a name=".getV"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getV</b>(s, idx)
					
					</div>
					<div class="description">
						get hexadecimal string of ASN.1 V(value)<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal string of ASN.1 value.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getVblen"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">ASN1HEX.</span><b>getVblen</b>(s, idx)
					
					</div>
					<div class="description">
						get integer value of ASN.1 length for ASN.1 data<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> ASN.1 L(length) integer value</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getVbyList"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getVbyList</b>(h, currentIndex, nthList, checkingTag, removeUnusedbits)
					
					</div>
					<div class="description">
						get ASN.1 value by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".
<br/>
When referring value can't be found, this returns null.
<br/>
NOTE: 'removeUnusedbits' flag has been supported since
jsrsasign 7.1.14 asn1hex 1.1.10.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 structure</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>currentIndex</b>
									
								</dt>
								<dd>string index to start searching in hexadecimal string "h"</dd>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>nthList</b>
									
								</dt>
								<dd>array of nth list index</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>removeUnusedbits</b>
									
								</dt>
								<dd>(OPTIONAL) flag for remove first byte for value (DEFAULT false)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>asn1hex 1.1.4</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> referred hexadecimal string of ASN.1 value(V) or null</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/ASN1HEX.html#.getIdxbyList">ASN1HEX.getIdxbyList</a></dd>
							
								<dd><a href="../symbols/ASN1HEX.html#.getVbyListEx">ASN1HEX.getVbyListEx</a></dd>
							
							</dl>
						

					<hr />
				
					<a name=".getVbyListEx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>getVbyListEx</b>(h, currentIndex, nthList, checkingTag, removeUnusedbits)
					
					</div>
					<div class="description">
						get ASN.1 V by nthList<br/>
This static method is to get a ASN.1 value which specified "nthList" position
with checking expected tag "checkingTag".
This method can dig into ASN.1 object encapsulated by
OctetString or BitString with unused bits.
						
						
					</div>
					
					
					
					<pre class="code">3014 seq idx=0
  3012 seq idx=4
    020101 int:1 idx=8
    020102 int:2 idx=14
    800103 [0]:3 idx=20
    810104 [1]:4 idx=26
    020105 int:5 idx=32
    020106 int:6 idx=38
h = "30140412020101020102800103810104020105020106";
ASN1HEX.getTLVbyList(h, 0, [0, "[0]"]) &rarr; 03
ASN1HEX.getTLVbyList(h, 0, [0, 2]) &rarr; 05
ASN1HEX.getTLVbyList(h, 0, [0, 2], "0c") &rarr; null //not UTF8String(0c)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 structure</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>currentIndex</b>
									
								</dt>
								<dd>string index to start searching in hexadecimal string "h"</dd>
							
								<dt>
									<span class="light fixedFont">{Array of Object}</span> <b>nthList</b>
									
								</dt>
								<dd>array list of nth index value or context specific tag string (ex. "[0]")</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>checkingTag</b>
									
								</dt>
								<dd>(OPTIONAL) string of expected ASN.1 tag for nthList (default is undefined)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>removeUnusedbits</b>
									
								</dt>
								<dd>(OPTIONAL) flag for trim unused bit from result value (default is undefined)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.21 asn1hex 1.2.2</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal ASN.1 V string refered by nthList. return null if not found</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-accessing-deep-inside-of-ASN.1-structure-by-using-new-ASN1HEX.getIdxbyListEx">ASN1HEX.getIdxbyListEx tutorial wiki page</a></dd>
							
								<dd></dd>
							
							</dl>
						

					<hr />
				
					<a name=".getVidx"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">ASN1HEX.</span><b>getVidx</b>(s, idx)
					
					</div>
					<div class="description">
						get ASN.1 value starting string position for ASN.1 object refered by index 'idx'.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>s</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER encoded data</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>idx</b>
									
								</dt>
								<dd>string index</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
						
						

					<hr />
				
					<a name=".hextooidstr"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>hextooidstr</b>(hex)
					
					</div>
					<div class="description">
						get OID string from hexadecimal encoded value<br/>
This static method converts from ASN.1 DER encoded 
hexadecimal object identifier value to dot concatinated OID value.
<a href="../symbols/KJUR.asn1.ASN1Util.html#.oidIntToHex">KJUR.asn1.ASN1Util.oidIntToHex</a> is a reverse function of this.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.hextooidstr("550406") &rarr; "2.5.4.6"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>hexadecmal string of ASN.1 DER encoded OID value</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>asn1hex 1.1.5</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> OID string (ex. '1.2.3.4.567')</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd></dd>
							
							</dl>
						

					<hr />
				
					<a name=".isASN1HEX"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Boolean}</span>
					<span class="light">ASN1HEX.</span><b>isASN1HEX</b>(hex)
					
					</div>
					<div class="description">
						simple ASN.1 DER hexadecimal string checker<br/>
This method checks wheather the argument 'hex' is a hexadecimal string of
ASN.1 data or not.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.isASN1HEX('0203012345') &rarr; true // PROPER ASN.1 INTEGER
ASN1HEX.isASN1HEX('0203012345ff') &rarr; false // TOO LONG VALUE
ASN1HEX.isASN1HEX('02030123') &rarr; false // TOO SHORT VALUE
ASN1HEX.isASN1HEX('fa3bcd') &rarr; false // WRONG FOR ASN.1</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>string to check whether it is hexadecmal string for ASN.1 DER or not</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 4.8.3 asn1hex 1.1.6</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> true if it is hexadecimal string of ASN.1 data otherwise false</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".isContextTag"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Boolean}</span>
					<span class="light">ASN1HEX.</span><b>isContextTag</b>(hex, context)
					
					</div>
					<div class="description">
						check if a hexadecimal tag is a specified ASN.1 context specific tag
This method checks if a hexadecimal tag is a specified ASN.1 context specific tag.
Structured and non-structured type of tag have the same string representation
of context specific tag. For example tag "a0" and "80" have the same string
representation "[0]".
The sTag has a range from from "[0]" to "[31]".
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.isContextTag('a0', '[0]') &rarr; true // structured
ASN1HEX.isContextTag('a1', '[1]') &rarr; true // structured
ASN1HEX.isContextTag('a2', '[2]') &rarr; true // structured
ASN1HEX.isContextTag('80', '[0]') &rarr; true // non structured
ASN1HEX.isContextTag('81', '[1]') &rarr; true // non structured
ASN1HEX.isContextTag('82', '[2]') &rarr; true // non structured
ASN1HEX.isContextTag('a0', '[3]') &rarr; false
ASN1HEX.isContextTag('80', '[15]') &rarr; false

ASN.1 tag bits
12345679
++        tag class(universal:00, context specific:10)
  +       structured:1, primitive:0
   +++++  tag number (0 - 31)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{hTag}</span> <b>hex</b>
									
								</dt>
								<dd>string of a hexadecimal ASN.1 tag consists by two characters (e.x. "a0")</dd>
							
								<dt>
									<span class="light fixedFont">{sTag}</span> <b>context</b>
									
								</dt>
								<dd>specific tag in string represention (OPTION) (e.x. "[0]")</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.21 asn1hex 1.2.2</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> true if hTag is a ASN.1 context specific tag specified by sTag value.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".oidname"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">ASN1HEX.</span><b>oidname</b>(oidDotOrHex)
					
					</div>
					<div class="description">
						get hexacedimal string from PEM format data<br/>
This static method gets a OID name for
a specified string of number dot notation (i.e. 1.2.3) or
hexadecimal string.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.oidname("2.5.29.37") &rarr; extKeyUsage
ASN1HEX.oidname("551d25") &rarr; extKeyUsage
ASN1HEX.oidname("0.1.2.3") &rarr; 0.1.2.3 // unknown</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>oidDotOrHex</b>
									
								</dt>
								<dd>number dot notation(i.e. 1.2.3) or hexadecimal string for OID</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 asn1hex 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> name for OID</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".parse"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Object}</span>
					<span class="light">ASN1HEX.</span><b>parse</b>(h)
					
					</div>
					<div class="description">
						parse ASN.1 DER hexadecimal string<br/>
This method parses ASN.1 DER hexadecimal string.
Its result can be applied to KJUR.asn1.ASN1Util.newOjbect.
						
						
					</div>
					
					
					
					<pre class="code">ASN1HEX.parse("31193017...") &rarr; // RDN
{set: [{seq: [{oid: "localityName"}, {utf8str: {str: "Test"}}] }]}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of ASN1. DER</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.3 asn1hex 1.1.x</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> associative array of ASN.1 parsed result</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd>KJUR.asn1.ASN1Util.newOjbect</dd>
							
							</dl>
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
                        &copy; 2012-2023 Kenji Urushima, All rights reserved<br/>
			
			Documentation generated by <a href="https://code.google.com/archive/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 
		</div>
	</body>
</html>
